home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 3.1 KB | 99 lines | [TEXT/CWIE] |
- //
- // MPW Tool
- // Usage : PBHGetFInfo [-i index] [-f fileName] [-v vRefNum] [-x version]
- //
-
- #include <Files.h>
- #include <stdio.h>
- #include <StdLib.h>
- #include <string.h>
- #include <strings.h>
- #include <Quickdraw.h>
-
- HParamBlockRec pb;
- Str255 fileName;
-
- void main (int argc, char *argv[]) {
-
- auto OSErr osErr;
- auto short index;
- auto char *option, *parameter;
-
- InitGraf(&qd.thePort);
-
- pb.fileParam.ioNamePtr = fileName;
- pb.fileParam.ioVRefNum = 0;
- pb.fileParam.ioFDirIndex = 0;
-
- index = 1;
- while (index < argc) {
-
- option = argv[index++];
- parameter = argv[index++];
-
- if ('-' != option[0] || (! strchr("idfrx", option[1])) || index > argc) {
- printf("PBHGetFInfo [-i index] [-d dirID] [-f fileName] [-v vRefNum] [-x version]");
- exit(1);
- } else {
- switch (option[1]) {
- case 'i' :
- sscanf(parameter, "%hd", &pb.fileParam.ioFDirIndex);
- break;
- case 'd' :
- sscanf(parameter, "%ld", &pb.fileParam.ioDirID);
- break;
- case 'f' :
- parameter = (char *) c2pstr(parameter);
- pb.fileParam.ioNamePtr = (StringPtr)parameter;
- break;
- case 'v' :
- sscanf(parameter, "%hd", &pb.fileParam.ioVRefNum);
- break;
- case 'x' :
- sscanf(parameter, "%hd", &pb.fileParam.ioFVersNum);
- break;
- }
- }
- }
-
- // printf("ioFDirIndex = %hd\n", pb.fileParam.ioFDirIndex);
- // printf("ioDirID = %ld\n", pb.fileParam.ioDirID);
- // printf("ioNamePtr = %P\n", pb.fileParam.ioNamePtr);
- // printf("ioVRefNum = %hd\n", pb.fileParam.ioVRefNum);
- // printf("ioFVersNum = %hd\n", pb.fileParam.ioFVersNum);
-
- osErr = PBHGetFInfoAsync(&pb);
-
- if (noErr != osErr) {
- printf("osErr = %d\n", osErr);
- } else {
- printf("ioResult = %hd\n", pb.fileParam.ioResult);
- printf("ioNamePtr = %P\n", pb.fileParam.ioNamePtr);
- printf("ioVRefNum = %hd\n", pb.fileParam.ioVRefNum);
-
- printf("ioFRefNum = %hd\n", pb.fileParam.ioFRefNum);
- printf("ioFVersNum = %hd\n", (short)pb.fileParam.ioFVersNum);
- printf("ioFDirIndex = %hd\n", pb.fileParam.ioFDirIndex);
- printf("ioFlAttrib = %hd\n", (short)pb.fileParam.ioFlAttrib);
- printf("ioFlVersNum = %hd\n", (short)pb.fileParam.ioFlVersNum);
-
- printf("ioFlFndrInfo.\n");
- printf(" fdType = %c%c%c%c\n", pb.fileParam.ioFlFndrInfo.fdType);
- printf(" fdCreator = %c%c%c%c\n", pb.fileParam.ioFlFndrInfo.fdCreator);
- printf(" fdFlags = %hu\n", pb.fileParam.ioFlFndrInfo.fdFlags);
- printf(" fdLocation.h = %hd\n", pb.fileParam.ioFlFndrInfo.fdLocation.h);
- printf(" fdLocation.v = %hd\n", pb.fileParam.ioFlFndrInfo.fdLocation.v);
- printf(" fdFldr = %hd\n", pb.fileParam.ioFlFndrInfo.fdFldr);
-
- printf("ioDirID = %ld\n", pb.fileParam.ioDirID);
- printf("ioFlStBlk = %hu\n", pb.fileParam.ioFlStBlk);
- printf("ioFlLgLen = %ld\n", pb.fileParam.ioFlLgLen);
- printf("ioFlPyLen = %ld\n", pb.fileParam.ioFlPyLen);
- printf("ioFlRStBlk = %hu\n", pb.fileParam.ioFlRStBlk);
- printf("ioFlRLgLen = %ld\n", pb.fileParam.ioFlRLgLen);
- printf("ioFRPyLen = %ld\n", pb.fileParam.ioFlRPyLen);
- printf("ioFlCrDat = %lu\n", pb.fileParam.ioFlCrDat);
- printf("ioFlMdDat = %lu\n", pb.fileParam.ioFlMdDat);
- }
- }
-